This disclosure relates to optimizing computing resource allocation in an online system.
Online systems operate upon computers, which have limited resources, and if all computing resources are being used at once, no additional processing may be performed by that computer until an executing process completes and thereby frees resources. Some processing requires a greater amount of computing resources to perform than others. Furthermore, in an online system, some processing may be more valuable than others. For example, in an online system that runs a selection process that selects content to deliver to a user, the online system may find better content for the user by looking at a larger pool of candidate content and/or by using more sophisticated prediction models. But if the online system delivers content to a large number of users, it has to decide how to employ its computing resources among the selection processes for the different users, who may interact in varying degrees with the content in a way that it beneficial to the online system. It is thus desirable to allocate the computing resources of the online system to maximize the value of actions performed by users who are presented with content selected by the online system.